home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d15 / himembug.arc / HIMEM.TXT next >
Text File  |  1990-08-09  |  2KB  |  27 lines

  1.  
  2. I have found three bugs in himem.sys 2.60 that I will outline in this
  3. article.  They are (1) himem.sys 2.60 doesn't correctly support the
  4. resize function which will cause it to incorrectly assign handles, (2)
  5. it doesn't correctly preserve the 32-bit AX register which can cause problems
  6. on 386 machines, and (3) the interrupt 15 handler incorrectly assumes
  7. the state of interrupts which can cause conflicts between himem.sys
  8. and the keyboard controller chip.  I think that himem.sys does an
  9. iret instead of a far ret.  It either incorrectly assumes the 
  10. interrupts are always off or on.  I think that it assumes that they
  11. are off.
  12.  
  13. The information below is about the handles bug and the xmstest.exe program.
  14. Note that the first handle is numbered 2848 with himem.sys 2.60 and that
  15. since the handles take 6 bytes of memory that the handle numbers increase
  16. by 6 I.E. 2848, 2854, 2860, ....  Use xmstest.exe menu selection 1 to 
  17. allocate all of your xms memory.  For this example lets say that you have
  18. 3456 K of xms like I do.  Then use menu selection 5 to resize handle 2848
  19. down to 3436 K.  Then use menu selection 1 to allocate the 20 K that you 
  20. freeed up by resizing the 3456 K block down to 3436 K.  Repeat this procedure
  21. and note that the handle numbers start incrementing by 12 instead of 6 after
  22. the second or third resize.  Note that himem.sys will go ahead and use the
  23. handles it skips after it has run out of handles if it doesn't have to do
  24. a resize to use them.  Note that the first handle number is only 2848 on
  25. my machine it might very on others.  Maybe if enough people are made aware
  26. of these bugs then Microsoft will fix them.
  27.